package com.vcc.service.service;

import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.vcc.data.entity.Role;
import com.vcc.data.entity.ShareAccount;
import com.vcc.service.boss.share.account.response.BossShareAccountResponse;
import com.vcc.service.client.share.account.response.ClientShareAccountResponse;

import java.util.List;

public interface ShareAccountService extends IService<ShareAccount> {

    Page<ClientShareAccountResponse> paging(Integer pageNumber, Integer pageSize, Role role, Long userId, Long targetUserId, String name, Integer status);

    List<ClientShareAccountResponse> list(Long userId, String channelCode);

    Page<BossShareAccountResponse> paging(Integer pageNumber, Integer pageSize, Long targetUserId, String name, Integer status);

    Boolean updateStatus(Long id, Integer status);

    Boolean updateName(Long id, String name);

    Boolean updateUserId(Long id, Long userId);

    Long countByUserId(Long userId);

}
